// 给定两个字符串s和t，判断s和t是否使用了相同的字符构成（字符出现的种类和数目都相同）

// 思路：哈希表，先遍历一个字符串构成哈希表，然后遍历另一个字符串，更新哈希表中的数目，判断是否能够完全映射
// 时间复杂度：O(n)，n是字符串的长度
// 空间复杂度：O(字符集的大小)
function isAnagram(s, t) {
    if (s === t) return false;
    if (s.length !== t.length) {
        return false
    }
    let map = new Map
    for (const item of s) {
        if (!map.has(item)) {
            map.set(item, 1)
        } else {
            map.set(item, map.get(item) + 1)
        }
    }
    for (const item of t) {
        let val = map.get(item)
        if (!val) {
            return false
        }
        map.set(item, val - 1)
    }
    return true
}

let s = "anagram", t = "nagarqm"

console.log(isAnagram(s, t))